#pragma once
#include <string>
#include <fstream>
#include <sys/stat.h>

namespace util {
    // 判断文件是否存在
    inline bool file_exists(const std::string& path) {
        struct stat buffer;
        return (stat(path.c_str(), &buffer) == 0);
    }

    // 获取文件大小
    inline size_t file_size(const std::string& path) {
        struct stat buffer;
        if (stat(path.c_str(), &buffer) == 0) {
            return buffer.st_size;
        }
        return 0;
    }

    // 读取整个文件为字符串
    inline std::string read_file(const std::string& path) {
        std::ifstream ifs(path, std::ios::binary);
        return std::string((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
    }
} 